home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 41
/
Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso
/
-screenplay-
/
shareware
/
ovenbird
/
guide
< prev
next >
Wrap
Text File
|
1999-04-20
|
21KB
|
563 lines
**********************************************************
Ovenbird v0.50 by Matt Kane - INSTALLATION AND USAGE GUIDE
Author: Matti Niskanen
Email: mattkane@freenet.hut.fi
Homepage: http://lappi.plai.fi/~mattkane/
**********************************************************
° The Ovenbird works on any Amiga with at least 1 MB of free CHIP memory.
° Recommended configuration is the AGA-chip set, 68030-CPU and some
° FAST memory. The game can be played from a floppy or a hard disk.
° You can launch the program by double-clicking the icon or typing
° the name in a CLI-window.
° You may copy and spread this game, it's editors and source codes
° if you want to. You can create your own scenarios and upload them
° to the Aminet with the game binary. Just don't claim you programmed
° it by yourself. This all means this game is PD (public domain).
° If you create your own levels or put a copy of the Ovenbird to a
° PD collection, please email me about it. I'd like to know where
° my program is used. I don't require money from the users.
° But if you want to, you *may* send me money! :)
° You can find more comprehensive documentation from the older version
° Sparrow which is in the Aminet. Most of the information about the
° game and the editors are the same.
Installing the game
----------------------------
I assume that you have downloaded the Ovenbird from the Aminet.
You should now have the file "ovenbird.lha", which must be depacked
for example with the program called "lha". You should get these files:
You may copy them to a floppy disk or create a directory on the
hard disk. See your Workbench manual how to create drawers (directories)
to your hard disk and how to use them.
Starting the game
-----------------
Start the game by double-clicking the icon (if you are using
Workbench) or typing the name in the CLI-window. If you run
the game from a floppy disk, it will take a while as Amiga
loads the game into the memory. Then the game will load some
files from the disk. The screen stays black. If you get back
to the Workbench screen or CLI-window any time with no error
messages, your Amiga might not have enough memory to run the
game or some of the game files are missing. I'm not sure if
AMOS programs work with 68040 or 68060 processors. If you
collide with a strange problem, email me, and I will try to
figure out the solution.
If everything goes well, you'll see an intro picture and hear
some music. Press either joystick fire button or any key on the
keyboard. If you press "esc" in the intro screen, the game will
end and exit. The game loads some files again. Then the game
screen with your character screen appears.
The big screen is the game area where your character can move.
The screen below the big screen is the status display. It will
show your energy, skill, score and money. The lowest screen
displays messages and other information.
Playing the game
----------------
You can now start playing. You control the character with
a joystick or the keyboard. Here are the controls:
Joystick direction - action
up - climb up ladders
down - climb down ladders / pick up an object / crack a wall below
right - walk right
left - walk left
up + fire - punch
down + fire - kick
right + fire - jump right
left + fire - jump left
The keyboard keys equal to the joystick directions. It's best to
use the numeric keypad. And the keys are:
5 - up
2 - down
3 - right
1 - left
- - punch
+ - kick
6 - jump right
4 - jump left
Other keys - these actions you can't perform with the joystick:
esc - end game and go back to the intro screen
shift + q - start a new game without entering the intro screen
shift + esc - exit the whole game immediately
You can crack walls or open doors, if you have found the correct key,
by punching or kicking. If you have a trapdoor below your feet, perform
the "pick-up"-move.
If you are jumping and want to stop it, perform the "down"-move.
Your moving will stop. This option comes handy when you are
crossing an area, which requires careful jumping.
Moving around
-------------
You can freely walk around. When you are over ladders, move up or down
to reach other areas. Jumping is a good way to access other areas too.
If you walk off a solid ground, you will fall. If you fall too high,
you will lose some energy or even die. There are also some types of
grounds which hurt you.
Picking up things
-----------------
You can find pick-ups around the game. You simply walk over a pick-up
and perform the "pick-up"-move (down) to pick it up. You may get or
lose energy, points or money. You may also get a key to a door. Keep
looking at the message screen when you pick something up.
Fighting with the enemies
-------------------------
Sometimes you enter a room which has one or more enemies in it.
The enemies will try to reach and kill you. You can fight with
them if you want to, and sometimes it is necessary to kill an
enemy toget forward in the game. Move close to an enemy and
punch or kick it. Some enemies die after a few hits, but some
are so tough that they require lots of hits. And some of them
will rise up after lying down for a while!
You can fool the enemies. Make an enemy follow you to a place
that hurts, like spikes. Then the enemy will die and you'll get
the points and the money. Just make sure you are not standing
on a hurting ground by yourself.
There's another way to fool them. When two or more enemies are
surrounding you, let them come as close as possible and then
jump away - the enemies will hit each other and with some luck
kill themselves. And you'll get the points and the money!
The target of the game
----------------------
The main purpose of the game is to find the exit door. It is
possible that it's behind many locked doors. When you enter
the exit door, you'll see "the end"-picture and hear some music.
The game is then completed. Press any key or the fire button of
the joystick to get back to the intro screen.
Creating your own scenarios and editing the game
------------------------------------------------
You need to download the game editor archive "ovenbirded.lha"
from the Aminet directory "game/misc". Unpack the archive and
read the documents. You will propably need a hard drive.
I'm not sure if you can fit all the needed files to a single
floppy disk.
The past, the present and the future
------------------------------------
I programmed Ovenbird because Sparrow (which was my final work
in the datatechnology school) was so restricted. Sparrow was
also so badly coded that it was impossible to create new options
for it. Ovenbird represents much better code and expandibility.
There may be guns, bullets and lifts coming. It's just how
slow the game will become if I add weapons.
I used a very old version of AMOS (v1.35), which I got with the
CU Amiga-magazine. Even after compiling the game with the old
AMOS compiler it's very slow on low-end Amigas. I can't help it.
I tried to code quite close to machine-language-technique.
I am not sure if I'm going to program Ovenbird any more.
There's lots of things to fix and add, however.
I got a total 0 feedback letters about Sparrow. If there's
nobody using the Amiga software anymore, then there's no idea
to produce it. I like the Amiga very much, but my occupation
requires to change to the PC platform, which I don't like
at all. But you can't make money with the Amiga.
Well, programming of the computers is not a waste of time,
if your work will include the use of the computers.
I'm sure I will install UAE (Universal Amiga Emulator) on
my PC. For example Personal Paint 7 is so good program that
I can't live without. I don't know any *drawing* programs
for PC/Windows. There's millions of picture-processing
programs, which claim to be the best art package, but I can't
draw with them at all.
Source codes
------------
All the AMOS-source codes should be found from the Aminet in
the same directory the game is in. The archive is called
"ovenbird_src.lha". The archive does not contain any explanations
or guides, because I believe anyone who is interested of the
source codes, knows so much about AMOS-programming that he/she
doesn't need any guides. The source codes themselves contain
some comments.
Credits
-------
Thanks to Stamen for the great music!
The graphic is quite blocky. I just didn't have the spirit
to use all the 256 blocks this time. I saved some ideas for
the future.
Sorry about the quick-drawed background in "the end"-picture.
I wanted to get the Ovenbird to the Aminet as soon as possible!
****************************
INSTRUCTIONS FOR THE EDITORS
****************************
First you should unpack the editor archive "ovenbirded.lha",
which you downloaded from the Aminet directory "game/misc".
Copy the files to the Ovenbird game directory. You should
see all the four editor and one game icon in the game drawer.
The numbers in the icons indicate the usage order. First
you have to edit the rooms, then create enemies and so on.
If you have extreme problems with installing or using the
editors, you may email me. I think that nowadays Amiga users
are quite talented with their machines, so I don't want to
use dozens of pages explaining how to move the mouse over
an icon.
General information
-------------------
The data files that the editors need (N) and create (C) are:
Roomed
N
blocks.iff
C
rooms.map
Enemyed
N
frames.iff
C
enemies.abk
enemies.dat
Pickuped
N
blocks.iff
C
pickups.dat
Setter
N
enemies.abk
enemies.dat
pickups.dat
rooms.map
C
objects.dat
objects.map
texts.dat
Game
N
begin.iff
blocks.iff
end.iff
enemies.abk
enemies.dat
mod.begin
mod.end
mod.game
objects.dat
objects.map
pickups.dat
rooms.map
status.iff
texts.dat
So if you create your own scenario and want to publish it, you need
to include the files listed above in the "game" section. You may also
want to include the "game"-executable file, if the other people don't
have it. You can also leave the music modules away. If the game doesn't
find them on the disk, it won't crash or try to play them.
If you want that other people can also edit your scenario,
include the file "frames.iff", which contains the graphics for
the characters (enemies).
The ".iff"-files are normal Amiga IFF-files. The "mod."-files
are normal Protracker music modules. Just remember that AMOS
doesn't recognize all the commands like "finetune".
When you draw the graphics, remember to use 4-bit palette.
AMOS can't handle 8-bit colour values. If you have the AGA-chip,
turn it off while rebooting. During the gameplay it is preferred to
let the AGA on, because the graphics are faster with it.
Status display and shop graphics are in the "status.iff"-file.
Just draw your own versions over the original ones. Don't cross
the borders - the sizes and locations are locked inside the game.
Roomed
------
The game map, where the characters move, consists of 100 rooms.
There are 10 rooms in horizontal direction and 10 rooms in
vertical direction. The width of a room is 20 bytes and the height
is 12 bytes. The graphic map takes 20*12*100=24000 bytes memory.
The rooms are mapped side by side in the memory. So if you want to
go to "next line" in the map, you have to add the value 200
to the room pointer. Or if you know the pointer of the upper left
corner of the room, you have to add 20 to move one room to right.
And if you want to move one room up, subtract 200*12=2400 from
the upper left pointer of the room.
The following ASCII-art tries to explain the map graphically:
Memory pointer (or offset from the beginning of the allocated memory area)
19 39 59 79 99...
0 +--+--+--+--+--+--+--+--+--+--+ 199
|1 |2 |3 |4 |5 |6 |7 |8 |9 |10|
+--+--+--+--+--+--+--+--+--+--+
2400 |11|12|13|14|15|16|17|18|19|20| 2599
...and so on. One byte on the map represents one block in the game.
A graphic block is 16*16 pixels and one room holds 20*12 blocks.
The block graphic is taken from the "blocks.iff"-file.
As said, the rooms and the map are formed of little blocks.
You can put the blocks in the upper screen and form sensible graphics.
You can select the block from the lower screen. You can use
the menus to perform some operations. Just try them out and
you will see what happens. There are also some keyboard commands:
u - undo last action
, - pick the block under the mouse
arrow up - move map one block up
arrow down - move map one block down
arrow right - move map one block right
arrow left - move map one block left
shift+au - move map one room (20 blocks) up
shift+ad - move map one room down
shift+ar - move map one room left
shift+al - move map one room right
alt+au - move to the upper corner of the map
alt+ad - move to the lower corner of the map
alt+ar - move the the right corner of the map
alt+al - move the the left corner of the map
I suggest that you move from a room to another using the shift key.
You can peep the other room with the plain arrow keys, but move then
back, so you won't accidentially break the borders of the areas of
the rooms. When you've created enough rooms, save them and set your
starting point with the "setter"-editor. Then start the game and see
how your rooms work. It is not necessary to create all of the 100
rooms at once.
The blocks have their own behaviour. Take a look at the graphic
of the example game and notice how the blocks work in the game.
Here's a list of the block indexes and how they affect to the characters:
Block - meaning
0-119 - character falls if is above this
80-99 - character can swim on this (not yet implemented)
100-109 - character gets hurt if moves over this
110-119 - character gets badly hurt if moves over this
120-139 - character can climb over this (ladders)
140-159 - character can break this
160-255 - character can't move through this
If you look at the "blocks.iff"-file of the example game, you'll
see some objects in the lower area of the image. They are used as
objects and explained in the "pickuped"-section.
Enemyed
-------
I suggest that you first load the enemy data of the example game
to see how everything works. The enemies (characters) get their
graphic images from the file "frames.iff".
First of all, set the amount of frames to 1. Then set the correct
values for the width and height. Select an animation from
the menu. Then select the frames for that animation from the
bottom of the screen.
This selection has one special feature. If you hold down the
shift key while pressing the left mouse button, that frame will
become an "action frame". I used to set all the moving frames
to action frames, so the character moves on every animation frame.
But when I created the punch and kick animations, I set the action
frame to the frame where the character seems to hit. After setting
that frame I released the shift key and added the same frame again,
but that wasn't an action frame anymore. So when you want the
action happen, set the frame as an action frame. This is just the
same idea as in the editors of the Amiga game Alien Breed 3D II.
Again: create something, see how it affects in the game,
modify it again, run the game and so on. You'll find the logic.
When you draw your own enemies, just remember that the sizes of
the frames of a character must be the same. Again, take a look
at the example graphics. Do not use bigger width than 1023 for
the whole image than 1023, because AMOS can't handle it. And I
think 640 pixels width is enough for all the enemies. Don't
create all enemies as big as possible. You might run out of
CHIP memory, especially on low-end Amigas. The sizes of the
files of the example game are a quite good guidance how big the
maximum sizes can be.
Pickuped
--------
There can be 30 different pick-ups in the game. Their graphics
are stored in the file "blocks.iff". Pick-ups are placed to the
map in the "setter"-editor. The next instructions are taken
from the documents of the Sparrow game.
Select the image for an object (pick-up) and use the menu to set its
values.
In the default game graphics you see a first-aid-kit in the leftmost
corner. You can select this block as the object graphic. Then there
is kind of negative shadow image next to it. This is called the mask
graphic of the object. Those who know the idea of graphic masking
can skip the next two paragraphs. I couldn't invent a better and
faster technique for the object graphic blitting.
Lets say you have drawn a ball image. You must put a mask of the ball
image next to the original image. The mask is a two colour negative
shadow of the original image. The area which contains object graphics
must have the colour value 0 and the other are must have the highest
possible colour value, which is 63 at the moment. Because the Ovenbird
uses 64-colour EHB-graphic mode, you need to select the very last
colour for the mask colour.
I'll explain how to create the mask using Personal Paint.
First draw your object to the area of 16 x 16 pixels. You may use
any colours you want to. Then pick the area of 16 x 16 pixels as a brush.
Press the 'f3' key to set 'replace' mode. Place the new brush next to
the original image. Press the 'f1' key to use the matte mode.
Select the highest or last colour (63) in the palette with left mouse
button and press the 'f2' key. Now the brush should be just one colour
shadow image of the object. Then place the brush to the mask area again.
Then pick the two colour image as brush once more. Select the "Brush"-menu,
the submenu "Color" and option "Complement". Now you should have a
two-colour inverted image of the object. Press the 'f3' key and
place the complete mask to the mask area.
Setter
------
This is the most complicated one. You should have drawn and defined
all the graphics before you use Setter. When you learn to use the
Ovenbird well, you'll create things faster and in free order.
Anything that is put on the map in the setter is an object.
You can have 999 different objects in the map. One object can
be used several times.
Load the example data and select the menu "Insert/Objects".
You'll get some buttons to the lower part of the screen.
You can change the values of the variables by clicking the
plus and minus icons. You can make the values change faster
by holding down shift, alt or Amiga key.
Here's the meanings of the buttons:
N - object number (1-999)
T - object type
V - type value (0-255)
C - copy these values to the clipboard
P - paste the contents of the clipboard to this object
Key - which key player gets
Gun - which gun player gets (NOT IN USE)
Text - which text is shown by this object
Bullets - how many bullets does player get (NOT IN USE)
For gun - for this gun (NOT IN USE)
R - does enemy resurrect (time in seconds, 0-no resurrect)
There are 9 types of objects. The types are:
0 - nothing (means that this object is not in use)
1 - pickup
2 - enemy
3 - text
4 - door
5 - lift (NOT IN USE)
6 - energy (player gets energy if stands over this)
7 - shop (player can access to a shop)
8 - exit (the game is finished)
Type value tells the game the object value. If the object type
is a pick-up, then the value indicates which pick-up the object is.
Remember that the object value may not be bigger than it is
permitted. It is possible to place enemy number 255, but that
will not work. Always set the value before setting the type.
There's a feature (which is now documented ;) that I couldn't solve.
If you haven't defined say the pick-up image of the enemy number
6 and you try to place the enemy on the map, the editor will crash.
AMOS just didn't have any command to check if the bob image exists.
If you want a text appear when the player moves over the place,
set the type to "text", but the text number is set in the
"type value" variable. That is quite illogical, I admit.
In other cases, if player picks up a pick-up, and you want
a certain text appear, just set the correct value for the
"text"-variable. Otherwise the name of the object will be shown.
The same method is used with enemies and doors. Again - look
at the example game!
And remember that you can "pick up" an object by moving the mouse
over the object and pressing the ","-key, just like in the Roomed.
If you want to quickly find an unused object, select the option
"Find unused" from the menu. You will get the first possible
object, which type is "none", from the object list.
If you want to erase the current object from the whole game map,
select "Erase from map" from the menu. Remember to erase the
object data too - use "Erase" from the "Edit"-menu. Now the object
data is completely destroyed from the object list and the map.
When you type the text strings, do not use ",". AMOS will cut
the line from that character.
Notes about Setter
When you want to place a door somewhere, you need to make the
area unpassable in the room editor. Then use Setter to define
the area as a door. Remember, a door must be consistent and
it can only be one block width. The graphics (block) to replace
the door after opening will be taken from the player's position.